#ifndef ENTREE_H
#define ENTREE_H

	#include <stdlib.h>
	#include <stdio.h>
	#include <string.h>
	
	#define FAUX 0
	#define VRAI 1

	#define ENTREE_TYPECTE_ENTIER 0
	#define ENTREE_TYPECTE_BOOL 1
	#define ENTREE_TYPECTE_CHAR 2

	#define ENTREE_TYPEENTREE_CTE 0
	#define ENTREE_TYPEENTREE_FCT 1

	typedef struct {int type; int valeurIntBool; char * valeurChar;} valeurCte;
	typedef struct {char * nom; int typeEntree; int nbArg; int * typeArg; int typeRetour; valeurCte valeur;} entree;
	
	entree nouvelleEntreeCteInt(char * nom, int valeur);
	entree nouvelleEntreeCteBool(char * nom, int valeur);
	entree nouvelleEntreeCteChar(char * nom, char * valeur);
	entree nouvelleEntreeFct(char * nom, int nbArg, int * typeArg, int typeRetour);
	char * entreeToString(entree x);
	char * entreeConstanteToString(entree x);
	char * entreeFonctionToString(entree x);
	char * entreeTypeCteToString(int type);

#endif
